package com.sztx.pay.center.core.service.bean;

import java.io.Serializable;
import java.util.List;

import com.sztx.pay.center.common.util.Constance.PayFlowState;
import com.sztx.pay.center.common.util.Constance.PayFlowType;
import com.sztx.pay.center.common.util.Constance.TradeOrderType;

@SuppressWarnings("serial")
public class PayCoreTradeInfo implements Serializable {

	/**
	 * 交易订单号
	 */
	private String referOrderId;
	
	/**
	 * 支付订单号
	 */
	private String payCoreOrderId;
	
	/**	
	 * 支付结果状态，如果为批量转账则还需以单笔转账状态为准
	 */
	private PayFlowState payFlowState;
	
	/**
	 * 
	 */
	private String payFlowDesc;
	
	/**
	 * 
	 */
	private String channelId;
	
	/**
	 * 
	 */
	private String channelBankId;
	
	/**
	 * 交易订单类别
	 */
	private TradeOrderType tradeOrderType;  
	
	/**
	 * 支付订单类别
	 */
	private PayFlowType payFlowType;
	
	/**
	 * 批量转账每笔结果
	 */
	private List<PayCoreTransferResult> batchTransferResult;
	
	/**
	 * 支付者用户id
	 */
    private String payerUserId;
	/**
	 * 支付者用户类别
	 */
    private int payerUserType;
	
    /**
     * 接收者用户id，如果为批量转账则为空
     */
    private String payeeUserId;
    
    /**
     * 接收者用户类别，如果为批量转账则为空
     */
    private int payeeUserType; 
    
    /**
     * 交易金额，如果为批量转账则为空
     */
	private long amount;

	public String getReferOrderId() {
		return referOrderId;
	}

	public void setReferOrderId(String referOrderId) {
		this.referOrderId = referOrderId;
	}

	public String getPayCoreOrderId() {
		return payCoreOrderId;
	}

	public void setPayCoreOrderId(String payCoreOrderId) {
		this.payCoreOrderId = payCoreOrderId;
	}

	public PayFlowState getPayFlowState() {
		return payFlowState;
	}

	public void setPayFlowState(PayFlowState payFlowState) {
		this.payFlowState = payFlowState;
	}

	public TradeOrderType getTradeOrderType() {
		return tradeOrderType;
	}

	public void setTradeOrderType(TradeOrderType tradeOrderType) {
		this.tradeOrderType = tradeOrderType;
	}

	public PayFlowType getPayFlowType() {
		return payFlowType;
	}

	public void setPayFlowType(PayFlowType payFlowType) {
		this.payFlowType = payFlowType;
	}

	public String getPayeeUserId() {
		return payeeUserId;
	}

	public void setPayeeUserId(String payeeUserId) {
		this.payeeUserId = payeeUserId;
	}

	public String getPayerUserId() {
		return payerUserId;
	}

	public void setPayerUserId(String payerUserId) {
		this.payerUserId = payerUserId;
	}

	public int getPayerUserType() {
		return payerUserType;
	}

	public void setPayerUserType(int payerUserType) {
		this.payerUserType = payerUserType;
	}

	public int getPayeeUserType() {
		return payeeUserType;
	}

	public void setPayeeUserType(int payeeUserType) {
		this.payeeUserType = payeeUserType;
	}

	public long getAmount() {
		return amount;
	}

	public void setAmount(long amount) {
		this.amount = amount;
	}

	public List<PayCoreTransferResult> getBatchTransferResult() {
		return batchTransferResult;
	}

	public void setBatchTransferResult(
			List<PayCoreTransferResult> batchTransferResult) {
		this.batchTransferResult = batchTransferResult;
	}



	public String getPayFlowDesc() {
		return payFlowDesc;
	}

	public void setPayFlowDesc(String payFlowDesc) {
		this.payFlowDesc = payFlowDesc;
	}

	public String getChannelId() {
		return channelId;
	}

	public void setChannelId(String channelId) {
		this.channelId = channelId;
	}

	public String getChannelBankId() {
		return channelBankId;
	}

	public void setChannelBankId(String channelBankId) {
		this.channelBankId = channelBankId;
	}

	@Override
	public String toString() {
		return "PayCoreTradeInfo [referOrderId=" + referOrderId
				+ ", payCoreOrderId=" + payCoreOrderId + ", payFlowState="
				+ payFlowState + ", payFlowDesc=" + payFlowDesc
				+ ", channelId=" + channelId + ", channelBankId="
				+ channelBankId + ", tradeOrderType=" + tradeOrderType
				+ ", payFlowType=" + payFlowType + ", batchTransferResult="
				+ batchTransferResult + ", payerUserId=" + payerUserId
				+ ", payerUserType=" + payerUserType + ", payeeUserId="
				+ payeeUserId + ", payeeUserType=" + payeeUserType
				+ ", amount=" + amount + "]";
	}

	
    
	
	
}
